package ru.compft.common.utils;

import org.springframework.util.CollectionUtils;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;

/**
 * User: VVasiliev
 * Date: 08.08.12
 * Time: 15:39
 * Общие утилиты приложения
 */
public class CommonUtils {
    /**
     * Получаем часть записей из списка
     *
     * @param from     - индекс начала
     * @param count    - количество записей
     * @param list - список
     * @return
     */
    public static List getPartOfList(int from, int count, Collection list) {
        if (!CollectionUtils.isEmpty(list)) {
            final int size = list.size(); // размер списка
            final int toIndex = Math.min(from + count, size); // индекс окончания выбираем меньший
            final int fromIndex = Math.min(from, toIndex); // индекс начала выбираем меньший
            return new ArrayList(list).subList(fromIndex, toIndex);
        }
        return Collections.EMPTY_LIST;
    }
}
